import jieba  # 进行分词的
from matplotlib import pyplot as plt  # 进行数据可视化 绘图的
from wordcloud import WordCloud  # 词云 帮助我们形成一个具有遮罩处理的
from PIL import Image  # 图片处理 图形的虚化 做一下验证码
import numpy as np  # 矩阵运算
import sqlite3  # 数据库

# 数据的准备工作完成 准备词云所需要的工作完成啦
con = sqlite3.connect("movie.db")
cur = con.cursor()

sql = 'select intro from movie'
data = cur.execute(sql)

text = ""
for item in data:
    text = text + item[0]

cur.close()
con.close()

cut = jieba.cut(text)
string = ' '.join(cut)  # 这个是我们让以空格作为我们词频进行实际的操作处理
print()

# 进行绘图啦

img = Image.open(r'./static/assets/img/tree.jpg')  # 打开一个图片这里是
img_array = np.array(img)  # 把我们的图片做成一个图片数组
wc = WordCloud(
    background_color='white',
    mask=img_array,
    font_path="msyh.ttc"  # 字体所在位置:字体要选对
)
wc.generate_from_text(string)  # 我们把一段切好的词放进去就好啦

# 绘制图片的操作(如何绘制我们的图片)

fig = plt.figure(1)
plt.imshow(wc)#安装词云的规则进行显示
plt.axis('off')#是否显示坐标轴
# plt.show()#显示生成的图片
#输出我们的词云的文件
plt.savefig(r'./static/assets/img/word1.jpg')#dpi是我们的清晰度的调节
